From c994d5da65cf170944db38567f067303cae02b7b Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc" Date: Fri, 4 Oct 2024 18:49:09 -0500 Subject: [PATCH] Corect application of the route_prefix setting to the static assets --- src/pgwui_common/pgwui_common.py | 9 +++++---- tests/test_pgwui_common.py | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/pgwui_common/pgwui_common.py b/src/pgwui_common/pgwui_common.py index 96a4920..1d8f017 100644 --- a/src/pgwui_common/pgwui_common.py +++ b/src/pgwui_common/pgwui_common.py @@ -52,11 +52,10 @@ def configure_pages(config, pgwui_settings): configure_page(config, pgwui_settings, 'menu_page') -def establish_settings(config): +def establish_settings(config, pgwui_settings): '''Add defaults into settings when they are not present and pre-process setting values as needed ''' - pgwui_settings = config.get_settings()['pgwui'] pgwui_settings.setdefault( 'client_encoding', DEFAULT_PGWUI_CLIENT_ENCODING) configure_pages(config, pgwui_settings) @@ -67,10 +66,12 @@ def includeme(config): ''' config.include('pyramid_mako') config.include('pyramid_beaker') - with config.route_prefix_context(settings['pgwui'].get('route_prefix')): + + pgwui_settings = config.get_settings()['pgwui'] + with config.route_prefix_context(pgwui_settings.get('route_prefix')): config.add_static_view( 'static/pgwui_common', 'pgwui_common:static/', cache_max_age=3600) - establish_settings(config) + establish_settings(config, pgwui_settings) config.scan() diff --git a/tests/test_pgwui_common.py b/tests/test_pgwui_common.py index f86b7d0..b93630d 100644 --- a/tests/test_pgwui_common.py +++ b/tests/test_pgwui_common.py @@ -127,8 +127,7 @@ def test_establish_settings_check_defaults( '''Check that the defaults are set as expected ''' pgwui = dict() - pyramid_request_config.get_settings()['pgwui'] = pgwui - pgwui_common.establish_settings(pyramid_request_config) + pgwui_common.establish_settings(pyramid_request_config, pgwui) assert pgwui['client_encoding'] \ == pgwui_common.DEFAULT_PGWUI_CLIENT_ENCODING @@ -140,8 +139,7 @@ def test_establish_settings_calls( '''Check that configure_pages() is called with the right args, once ''' pgwui = dict() - pyramid_request_config.get_settings()['pgwui'] = pgwui - pgwui_common.establish_settings(pyramid_request_config) + pgwui_common.establish_settings(pyramid_request_config, pgwui) assert ([call[0] for call in mock_configure_pages.call_args_list] == [(pyramid_request_config, pgwui)]) @@ -155,14 +153,16 @@ mock_establish_settings = testing.make_mock_fixture( @pytest.mark.unittest def test_includeme_establish_settings_called( + pyramid_request_config, mock_add_static_view, mock_include, mock_establish_settings): '''Pyramid Configure() methods and establish_settings are all called''' - with pyramid.testing.testConfig() as config: - mocked_include = mock_include(config) - mocked_add_static_view = mock_add_static_view(config) - pgwui_common.includeme(config) - assert mocked_include.call_count == 2 - mocked_add_static_view.assert_called_once() + pyramid_request_config.get_settings()['pgwui'] = {} + mocked_include = mock_include(pyramid_request_config) + mocked_add_static_view = mock_add_static_view(pyramid_request_config) + pgwui_common.includeme(pyramid_request_config) + + assert mocked_include.call_count == 2 + mocked_add_static_view.assert_called_once() mock_establish_settings.assert_called_once() -- 2.34.1